package com.ruoyi.manage.mapper;

import java.util.List;
import com.ruoyi.manage.domain.SurgeryDeviceDetail;
import com.ruoyi.manage.domain.SurgeryDeviceIncreasement;

/**
 * 术中清点记录Mapper接口
 * 
 * @author zww
 * @date 2025-07-08
 */
public interface SurgeryDeviceDetailMapper 
{
    /**
     * 查询术中清点记录
     * 
     * @param surgeryDeviceDetailId 术中清点记录主键
     * @return 术中清点记录
     */
    public SurgeryDeviceDetail selectSurgeryDeviceDetailBySurgeryDeviceDetailId(Long surgeryDeviceDetailId);

    /**
     * 查询术中清点记录列表
     * 
     * @param surgeryDeviceDetail 术中清点记录
     * @return 术中清点记录集合
     */
    public List<SurgeryDeviceDetail> selectSurgeryDeviceDetailList(SurgeryDeviceDetail surgeryDeviceDetail);
    public List<SurgeryDeviceDetail> selectSurgeryDeviceDetailListBySurgeryDeviceId(Long surgeryDeviceId);
    public List<SurgeryDeviceIncreasement> selectSurgeryDeviceIncreasementList(Long surgeryDeviceDetailId);
    /**
     * 新增术中清点记录
     * 
     * @param surgeryDeviceDetail 术中清点记录
     * @return 结果
     */
    public int insertSurgeryDeviceDetail(SurgeryDeviceDetail surgeryDeviceDetail);

    /**
     * 修改术中清点记录
     * 
     * @param surgeryDeviceDetail 术中清点记录
     * @return 结果
     */
    public int updateSurgeryDeviceDetail(SurgeryDeviceDetail surgeryDeviceDetail);

    /**
     * 删除术中清点记录
     * 
     * @param surgeryDeviceDetailId 术中清点记录主键
     * @return 结果
     */
    public int deleteSurgeryDeviceDetailBySurgeryDeviceDetailId(Long surgeryDeviceDetailId);

    /**
     * 批量删除术中清点记录
     * 
     * @param surgeryDeviceDetailIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSurgeryDeviceDetailBySurgeryDeviceDetailIds(Long[] surgeryDeviceDetailIds);

    /**
     * 批量删除术中清点单记录增加明细
     * 
     * @param surgeryDeviceDetailIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSurgeryDeviceIncreasementBySurgeryDeviceDetailIds(Long[] surgeryDeviceDetailIds);
    
    /**
     * 批量新增术中清点单记录增加明细
     * 
     * @param surgeryDeviceIncreasementList 术中清点单记录增加明细列表
     * @return 结果
     */
    public int batchSurgeryDeviceIncreasement(List<SurgeryDeviceIncreasement> surgeryDeviceIncreasementList);
    

    /**
     * 通过术中清点记录主键删除术中清点单记录增加明细信息
     * 
     * @param surgeryDeviceDetailId 术中清点记录ID
     * @return 结果
     */
    public int deleteSurgeryDeviceIncreasementBySurgeryDeviceDetailId(Long surgeryDeviceDetailId);
}
